﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ITS.Core.Domain.Contents;

namespace ITS.DAL.Contents
{
    public interface IContentRepository
    {
        ContentCategory ContentCategory(int categoryID);
        ContentCategory ContentCategoryOfItem(int contentID);

        IQueryable<ContentSubCategory> SubCategoriesByCategory(int categoryID);
        ContentSubCategoryDescription DefaultSubCategoryDescription(int subCategoryID);

        ContentItem ContentItem(int contentID);
        void SaveContentItem(ContentItem contentItem);

        void SaveContentDescription(ContentItemDescription description);

        ContentItemDescription ContentItemDescription(Guid descriptionID);
        ContentItemDescription ContentItemDescription(int contentID, string languageID);

        void UpdateContentItemDescription(ContentItemDescription description);

        void AddContentItemDescription(ContentItemDescription description);

        IList<ContentCategory> ContentCategories();

        IList<ContentItem> Search(string keyword, int subCategoryID);
    }
}
